package com.yanzhiyi.user.service;

import com.github.pagehelper.Page;
import com.yanzhiyi.user.pojo.Role;
import com.yanzhiyi.user.pojo.SearchCondition;
import org.springframework.web.bind.annotation.RequestParam;


import java.util.List;
import java.util.Map;

public interface RoleService {

    /**
     * 查询所有角色
     * @return
     */
    public List<Role> findAll();

    /**
     * 根据ID查询
     * @param id
     * @return
     */
    public Map<String,Object> findById(Integer id);

    /**
     * 添加角色
     * @param role
     */
    public void add(Role role,Integer [] menus,Integer [] permissionIds);

    /**
     * 修改角色
     * @param role
     */
    public void update(Role role,Integer [] menus,Integer [] permissionIds);

    /**
     * 删除角色
     * @param id
     */
    public void delete(Integer id);

    /**
     * 多条件搜索角色方法
     * @param searchMap
     * @return
     */
    public List<Role> findList(Map<String, Object> searchMap);

    /**
     * 分页查询
     * @param page
     * @param size
     * @return
     */
    public Page<Role> findPage(int page, int size);

    /**
     * 分页查询 和 多条件查询
     * @param searchMap
     * @param page
     * @param size
     * @return
     */
    Page<Role> findPage(Map<String, Object> searchMap, int page, int size);


    /**
     * 分页查询 和 多条件查询
     * @param searchCondition
     * @param page
     * @param size
     * @return
     */
    Page<Role> searchPage(SearchCondition searchCondition, int page, int size);


}
